//
// Created by ✎﹏ℳ๓独赏 ☆独醉 on 2023/4/15.
//
#include <stdio.h>
void swap01(int x,int y){//x,y为形参，有自己的独立空间，对立的地址值
    int temp;
    temp = x;
    x = y;
    y = temp;
}
void swap02(int* x,int* y){//*x,*y为形参，有自己的独立空间，对立的地址值
    int *temp;
    temp = x;
    x = y;
    y = temp;
}
//故此函数无法交换a,b的值
void swap03(int* x,int* y){
    int temp;
    temp = *x;
    *x = *y;//此操作是利用地址值找到a,b所在的空间，对空间里存储的数值进行操作
    *y = temp;
}
//故此函数能实现数值替换
int main() {
    int a = 10, b = 20;
    printf("a=%d,b=%d\n", a, b);
    swap01(a, b);
    printf("a=%d,b=%d\n", a, b);
    swap02(&a, &b);
    printf("a=%d,b=%d\n", a, b);
    swap03(&a, &b);
    printf("a=%d,b=%d\n", a, b);
    return 0;
}
    /*
     * 形式参数是指函数名后括号中的变量，
     * 只有在函数被调用时才会在内存中开辟空间，
     * 且再函数调用完成后就自动销毁了。
     */